package com.gzc.just.play.last.war.sceneserver.ai;

import com.gzc.just.play.last.war.sceneserver.gameobject.unit.GameUnit;

/**
 * 动作节点 - 执行具体的行为动作
 * 
 * 映射自C++ ActionNode
 * 这是一个抽象类，具体的动作由子类实现
 * 
 * @author AI编程助手
 * @version 1.0
 */
public abstract class ActionNode extends BehaviorNode {
    
    /**
     * 构造函数
     * 
     * @param name 节点名称
     */
    public ActionNode(String name) {
        super(name, NodeType.ACTION);
    }
    
    /**
     * 动作执行的具体逻辑
     * 子类必须重写该方法
     * 
     * @param unit 执行该动作的游戏单位
     * @param deltaTime 时间差（毫秒）
     * @return 执行结果
     */
    @Override
    public abstract Result tick(GameUnit unit, long deltaTime);
}
